<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        //es6 let const es5 var

        //1.let const 没有变量提升

        // console.log(a); //undefined

        let a = 10;

        console.log(typeof a);  //10   
        
        //2.let const 在同一个作用域内，不能重复声明变量

        //es6 块级作用域  {}

        //3.暂时性死区：在块级作用内声明变量，这个变量会暂时封锁在这个作用域，不会受其他作用域的影响

        // if(10>5){
        //     console.log(a);
        //     let a = 'hello';
        // }

        // let arr = [];

        // for(let i = 0;i<10;i++){
        //     arr[i] = function(){
        //         console.log(i)
        //     }
        // }

        // console.log(i)

        // arr[0](); //0

        // arr[1](); //1

        // arr[2](); //2

        //4.let const 声明的变量不会添加到window

        // var b = 1;

        // console.log(window.b)

        //const  常量

        //js 基本数据类型 ：string number null undefined boolean symbol

        //引用数据类型：object array

        // const str = 'hello';

        // str = '123';

        const obj = {name:'lili'};

        obj.age = 18;

        console.log(obj);

        const arr = [1,2,3];

        arr.push(4);

        // arr = 1;

        console.log(arr);
    </script>
</body>
</html>